package localos

import (
	"fmt"
	"go.uber.org/zap"
	"os/exec"
)

// 本地指令杀死指定爬虫
func KillEsfZf(jobId string) (err error) {
	cmdStr := fmt.Sprintf("ps -ef | grep %s | awk '{print $2}' | xargs kill -9 ", jobId)

	command := exec.Command("bash", "-c", cmdStr)
	//给标准输入以及标准错误初始化一个buffer，每条命令的输出位置可能是不一样的，
	//比如有的命令会将输出放到stdout，有的放到stderr

	output, _ := command.CombinedOutput()
	zap.L().Debug("本地执行杀死爬虫命令：" + string(output))
	//command.Stdout = &bytes.Buffer{}
	//command.Stderr = &bytes.Buffer{}
	////执行命令，直到命令结束
	//err = command.Run()
	//if err != nil{
	//	//打印程序中的错误以及命令行标准错误中的输出
	//	fmt.Println(err)
	//	fmt.Println(command.Stderr.(*bytes.Buffer).String())
	//	return
	//}
	////打印命令行的标准输出
	//fmt.Println(command.Stdout.(*bytes.Buffer).String())
	return
}